package com.turtle.security.organizates.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.turtle.security.organizates.dto.SysDeptAddDTO;
import com.turtle.security.organizates.dto.SysDeptUpdateDTO;
import com.turtle.security.organizates.entity.SysDept;

/**
 * 系统部门表 服务类
 *
 * @author turtle
 * date: 2020-06-04
 */
public interface ISysDeptService extends IService<SysDept> {


    /**
     * 判断父级部门是否存在
     *
     * @param parentId 父级部门id
     * @return Boolean
     */
    public void isExistParentDept(Long parentId);

    /**
     * 添加部门
     *
     * @param sysDept 部门信息
     */
    public void deptAdd(SysDeptAddDTO sysDept);

    /**
     * 判断部门名是否存在
     *
     * @param deptName 部门名
     * @param deptId   部门id
     * @return Boolean
     */
    public void isExistDeptName(String deptName, Long deptId);

    /**
     * 部门是否存在或是否删除
     *
     * @param id 部门id
     */
    public void isExistDept(Long id);

    /**
     * 更新部门
     *
     * @param sysDept 部门信息
     */
    public void deptUpdate(SysDeptUpdateDTO sysDept);

    /**
     * 删除部门
     *
     * @param deptId 部门id
     */
    public void deptDel(Long deptId);

    /**
     * 判断部门是否存在下级部门
     *
     * @param deptId
     */
    public void isExistChildren(Long deptId);


}
